Содержание

Отладка программ. Типичные программы.

  Режим прерывания. Пошаговый режим выполнения программы.

Для того, чтобы подсмотреть во время работы значения переменных в памяти, необходим режим прерывания (или пошаговый режим).

Запустите проект на выполнение не кнопкой start , а клавишей F8 (или Debug->Step Into). Проект будет выполняться поэтапно

 (каждый этап после нажатия F8).

 

Точки прерывания (Breakpoints).

Когда программа большая или циклов много, жать на F8 приходится слишком часто.  Обычно вам интересно останавливаться

только на некоторых строках программы, мимо остальных можно и пролететь. Visual Basic позволяет вам задать такие строки

 - точки прерывания. Щелкните по вертикальной серой полосе в левой части окна кода против строки, на которой хотите

прерывать выполнение программы. На полосе появится черная точка, и вся строка будет выделена черным.

Щелкните также против всех нужных вам строк. Запускайте проект обычным образом (кнопка Start или клавиша F5).

Дойдя до первой же точки прерывания, проект перейдет в режим прерывания. Продолжайте его работу клавишей F5.

Проект будет останавливаться только на точках прерывания. Убираются точки прерывания так же, как и ставятся, - щелчком мыши.

 

Типичные программы.

Каждому программисту известны такие слова, как счетчик, сумматор, вложенные циклы, и другие подобные понятия, описывающие

элементарную технику программирования. Без них не обходится ни одна реальная программа.

Счетчики

Счетчик - это переменная величина, в которой вы что-нибудь подсчитываете. Для чего нужны счетчики? Ну хотя бы для того,

чтобы подсчитать количество жизней главного персонажа в компьютерной игре.

Пример. В компьютер с клавиатуры вводятся числа. Компьютер после ввода каждого числа должен печатать,

 сколько среди них уже введено положительных чисел.

Фрагмент, решающий задачу:
         С = 0              'Обнуляем счетчик

            m:   a = InputВох("Введите  число")

If a>0 Then c=c+1

Debug.Print "Из них положительных -", с

GoTo m

Переменная С выполняет роль счетчика положительных чисел. Сердце счетчика оператор с=с+1. Именно он в нужный момент

 увеличивает счетчик на 1. Но и без If a>0 Then тоже никак нельзя. Если бы его не было, то с подсчитывал бы все числа без разбору,

то есть был бы обыкновенным счетчиком циклов. В нашем же фрагменте увеличение С на 1 выполняется не всегда, а лишь при положительном а.

 

Сумматор - это переменная величина, в которой вы подсчитывае­те сумму чего-либо.

Посмотрим, как будет работать следующий фрагмент:

S = 0     'Обнуляем сумматор. Это не менее важно, чем обнулить счетчик

т:   а = InputВох("Введите очередное число")

 s=s+a   'Увеличиваем сумматор

Debug.Print "Сумма="; s

GoTo m

В ячейке S накапливается сумма вводимых чисел а, поэтому назовем эту ячейку сумматором. Отличие сумматора от счетчика в том,

что счетчик увеличивается на 1 оператором с = с+1, а сумматор - на суммируемое число оператором s = s + а.

    Пример. Сложить все числа от 0 до 2000.

  Private Sub Command2_Click()  

  s = 0

  For i = 1 То 2000

    s = s + i

 Next i

Debug.Print "Сумма равна"; s

End Sub

Поиск максимального из чисел

Задача программисту. Найти максимальное из вводимых в компьютер чисел.

Задача рыбаку. Принести домой самую большую из выловленных рыб.                                        

    Решение рыбака. Рыбак приготовил для самой большой рыбы пустое ведро.

    Первую пойманную рыбу рыбак не глядя бросает в это ведро. Каждую следующую рыбу он сравнивает с той, что в ведре.

     Если она больше, то он бросает ее в ведро, а ту, что была там раньше, выпускает в реку.

Решение программиста. Программист приготовил для самого большого числа ячейку и придумал ей название, скажем mах.

 Первое число программист не глядя вводит в эту ячейку. Каждое следующее число (назовем его chislo) он сравнивает с max.

  Если оно больше, то он присваивает переменной max значение этого числа.

Напишем программу для определения максимального из 10 вводимых чисел:
     
Private Sub Command1_Click()
            Max = InputВох("Введите число")              
'первую рыбу
- в ведро

For i = 2 То 10                                             'ловим остальных рыб:                                 

     chislo =InputВох("Введите число")   'поймали очередную рыбу и, если она больше той, что в ведре, бросаем ее в ведро
If chislo > Max Then Max = chislo
Next i
Debug.Print Max                                         
'несем самую большую рыбу домой

 

 

Задать вопрос.

 

 ТЕСТ   Практическое задание

 

 

 

на главную лицея
Hosted by uCoz